package com.liuugoqing.creator.singleton.demo3;

/**
 * 赖加载
 *     线程不安全
 * @Author : liugq
 * @Date : 2022/6/26 18:09
 * @See : 参考类
 * @Since： JDK1.8
 * @Version : 1.0
 */
public class Singleton {
    private static Singleton singleton;

    private Singleton(){}

    /**
     * 赖加载，什么时候用，什么时候创建
     * 在第一次获取的时候，判断是否存在，不存在则创建；之后就直接返回
     * 但是存在线程不安全情况，在两个线程进入if内，就会出现创建两次的情况
     * @author liugq
     * @date 2022/6/26 18:12
     * @return com.liuugoqing.creator.singleton.demo3.Singleton
     */
    public static Singleton getInstance(){
        if ( null == singleton)  //若是两个线程同时进入到这里
            singleton = new Singleton();
        return singleton;
    }
}
